package com.moss.cloud.common.flow.executor;

import com.moss.cloud.common.core.utils.SpringContextHolder;
import com.moss.cloud.common.flow.event.TaskEvent;
import com.moss.cloud.common.flow.model.NodeTask;
import lombok.extern.slf4j.Slf4j;

/**
 * 任务执行器
 *
 * @author 瑾年
 * @date 2024年4月15日
 */
@Slf4j
public class TaskExecutor {
    public TaskExecutor(){}
    public static TaskExecutor build(){
        return new TaskExecutor();
    }
    public void process(NodeTask nodeTask) {
        // 执行审批逻辑
        log.info("执行审批逻辑:{},任务名称:{}", nodeTask.getId(), nodeTask.getName());
        SpringContextHolder.publishEvent(new TaskEvent(this, nodeTask));
    }
}
